<?php


ini_set('display_errors', 1);
include_once dirname(__FILE__) . '/../Consultas/HotelDao.php';
include_once 'RedirectionController.php';

/*
 * Recibimiento de Parámetros
 * 
 */
$HotelController = new HotelController();
if (isset($_POST['nombre_hotel']) && isset($_POST['ubic_hotel']) && isset($_POST['categoria_hotel']) && isset($_POST['tipo_hotel']) && isset($_POST['actividad_hotel']) && isset($_POST['tipo_alimentacion'])) {


    $HotelController->crearHotel($_POST['nombre_hotel'], $_POST['ubic_hotel'], $_POST['categoria_hotel'], $_POST['tipo_hotel'], $_POST['actividad_hotel'], $_POST['tipo_alimentacion']);
} else {
    print "Error: Debe diligenciar todos los datos";
    $HotelController->redireccionar();
}

/**
 * Description of SedeController
 *
 * @author PaolaAndreaPedraza
 */
class HotelController {

    private $HotelDao;
    private $RedirectionController;

    public function __construct() {
        $this->HotelDao = new HotelDao();
        $this->RedirectionController = new RedirectionController();
    }

    public function consultarHotel() {

        return $this->HotelDao->consultarHotel();
    }

    public function redireccionar() {
        $this->RedirectionController->redireccionar(RedirectionController::PAGINA_CREAR_HOTEL);
    }

    public function crearHotel($nombreHotel, $ubicHotel, $categoriaHotel, $tipoHotel, $actividades, $alimentaciones) {

        $arrayValores = Array();
        $arrayValores['nombre_hotel'] = $nombreHotel;
        $arrayValores['ubic_hotel'] = $ubicHotel;
        $arrayValores['categoria_hotel'] = $categoriaHotel;
        $arrayValores['tipo_hotel'] = $tipoHotel;


        if ($this->HotelDao->guardarHotel($arrayValores)) {
            $idNuevoHotel = $this->HotelDao->getUltimoID('tb_hotel');
            if (!$this->crearAsociacionHotelActividades($actividades, $idNuevoHotel))
                print "Se guardó el hotel pero ocurrió un error al guardar las actividades del hotel";
            else if (!$this->crearAsociacionHotelAlimentaciones($alimentaciones, $idNuevoHotel))
                print "Se guardó el hotel pero ocurrió un error al guardar la alimentación";
            else
                print "Hotel Guardado Con Éxito";
        }
        else
            print "Error al guardar el Hotel";
        $this->redireccionar();
    }

    public function crearAsociacionHotelActividades($actividades, $idHotel) {

        $correcto = true;

        for ($c = 0; $c < count($actividades); $c++) {
            $arrayValores = Array();
            $arrayValores['tb_hotel_id_tb_hotel'] = $idHotel;
            $arrayValores['tb_actividades_id_tb_actividades'] = $actividades[$c];
            $correcto = $this->HotelDao->guardarAsociacionHotelActividad($arrayValores);
        }

        return $correcto;
    }

    public function crearAsociacionHotelAlimentaciones($alimentaciones, $idHotel) {

        $correcto = true;

        for ($c = 0; $c < count($alimentaciones); $c++) {
            $arrayValores = Array();
            $arrayValores['tb_hotel_id_tb_hotel'] = $idHotel;
            $arrayValores['tb_alimentacion_id_tb_alimentacion'] = $alimentaciones[$c];
            $correcto = $this->HotelDao->guardarAsociacionHotelAlimentacion($arrayValores);
        }

        return $correcto;
    }

   

}
?>

